package com.itlong.cloud.padbot.service;

import com.itlong.cloud.POJO.DTO.app.AppPadBotRobotDTO;
import com.itlong.cloud.POJO.DTO.property.PropertyPadBotDeliveryTaskDTO;

/**
 * <desc>
 *      派宝机器人业务处理层接口
 * </desc>
 *
 * @createDate 2021/1/6
 **/
public interface IPadBotRobotService {


//    /**
//     * <desc>
//     *      获取目标点列表
//     * </desc>
//     *
//     * @param appPadBotRobotDTO 调用派宝接口参数DTO
//     * @return
//     * @Author Zhu.yj
//     * @createDate  2021/1/6
//     */
//    List<AppPadBotTargetPointVO> getTargetPointList(AppPadBotRobotDTO appPadBotRobotDTO) throws Exception;


    /**
     * <desc>
     *      取消派送任务
     * </desc>
     *
     * @param appPadBotRobotDTO 调用派宝接口参数DTO
     * @return
     * @Author Zhu.yj
     * @createDate  2021/1/6
     */
    boolean cancelDeliveryTask(AppPadBotRobotDTO appPadBotRobotDTO) throws Exception;

    /**
     * <desc>
     *      新建派送任务
     * </desc>
     *
     * @param appPadBotRobotDTO 调用派宝接口参数DTO
     * @return
     * @Author Zhu.yj
     * @createDate  2021/1/6
     */
    String createDeliveryTask(AppPadBotRobotDTO appPadBotRobotDTO) throws Exception;


    /**
     * <desc>
     *      更新派宝机器人地图信息
     * </desc>
     *
     * @param  serialNumber 机器人序列号
     * @return
     * @Author Zhu.yj
     * @createDate  2021/1/8
     */
    Integer saveMapTargetInfo( String serialNumber) throws Exception;

    /**
     * <desc>
     *      配置回调地址
     * </desc>
     *
     * @param
     * @return
     * @Author Zhu.yj
     * @createDate  2021/1/12
     */
    boolean configCallbackUrl(PropertyPadBotDeliveryTaskDTO deliveryTaskDTO) throws Exception;

    /**
     * <desc>
     *      查询回调地址
     * </desc>
     *
     * @param deliveryTaskDTO 配送任务列表
     * @return
     * @Author Zhu.yj
     * @createDate  2021/1/12
     */
    String getCallbackUrl(PropertyPadBotDeliveryTaskDTO deliveryTaskDTO) throws Exception;


}
